#include "Main.h"
#include "Game.h"

//zakładamy, że każdy rzucony wyjątek jest krytyczny i powoduje zabicie gry
//przy okazji - wyjątek rzucamy przez DebugMessage z ostatnim parametrem jako critical

int main(int argc, char* argv[]) {
	try {
		Game::GetInstance().Start();
		Game::GetInstance().MainLoop();
	} catch (std::exception) {
		DebugMessage("", "main", "Catched an exception, quitting…");
		return 1;
	}

	return 0;
}

SDL_Surface* LoadBMP(const char* fileName, int r, int g, int b) {
	SDL_Surface* image = NULL;

	//wczytuję grafikę
	image = SDL_LoadBMP(fileName);
	if (!image) {
		DebugMessageSDL("Interface", "LoadBMP", error);
		return 0;
	}

	//ustawiam przezroczystość
	SDL_SetColorKey(image, SDL_SRCCOLORKEY, SDL_MapRGB(image->format, r, g, b));

	return image;
}